{{tag>annuaire ldap BROUILLON}}

----

====== LDAP client ======

===== À qui cela s'adresse =====

Cette page est pour n'importe qui voulant rendre son Ubuntu capable de s'authentifier auprès d'un serveur [[wpfr>OpenLDAP]].

L'utilisateur qui désire s'authentifier avec Sun Java Enterprise System Directory Server doit regarder la [[https://wiki.ubuntu.com/SunLDAPClientAuthentication|page sur la documentation en anglais]].

===== Note pour Gutsy =====

Il y a un nouvel outil dans Gutsy pour modifier les outils de pam et de nsswitch en même temps : 
   sudo auth-client-config -a -p lac_ldap 

===== L'intallation et la configuration de LDAP =====
==== Installation des paquets ====

Vous avez besoin des paquets suivants ''libpam-ldap'' et ''libnss-ldap'' pour la configuration du client  :
 
  sudo apt-get install libpam-ldap libnss-ldap
 
Pendant l'installation, vous allez avoir à répondre à ces questions :
  * **L'adresse du serveur LDAP utilisé**. Vous pouvez aussi utiliser un **fully qualified domain**. Par exemple :  **ldap.exemple.com**
sur l'image ci-dessous, à la place de 127.0.0.1, choisissez l'IP de votre serveur, c'est la meilleure solution pour éviter les problèmes.
{{:configuration-ldap-nss-pam.png|}}
  * **Le nom de la base de recherche**. Par exemple **dc=example,dc=com**
  * **La version de LDAP à utiliser**. Vous choisirez habituellement **3**.
  * **Si votre base de données requiert une connexion**. Vous choisirez habituellement **no** ici.
  * **Si vous voulez faire une configuration en Lecture/Écriture par le propriétaire seulement**. Donc **no** devrait être la réponse.
  * Le prochain dialogue vous explique qu'il ne peut configurer **nsswitch.conf** automatiquement.
  * **Si vous voulez que le root local soit l'administrateur de la base de données**, vous devez habituellement choisir **yes** ici.
  * Ensuite, **si votre base de données requiert une connexion**. Vous devez choisir **no** ici.
  * **Votre compte root**. Par exemple : **cn=manager,dc=example,dc=com**
  * **Son mot de passe**.
  * Ensuite, la boite de dialogue vous explique les différentes méthodes de cryptage. On va vous demander d'indiquer **la méthode de cryptage avant d'envoyer le mot de passe**. **exop** est habituellement un bon choix.

<note important>Ici, une explication des fichiers créés et de leur contenu serait la bienvenue. Ainsi que les modifications manuelles, possibles</note>

Un petit  dpkg-reconfigure ldap-auth-config permet de refaire cette configuration, au cas où !

==== La configuration de nsswitch.conf ====

Malheureusement nous ne pouvons tester la configuration des paquets plus haut sans la modification de  /etc/nsswitch.conf :

  sudo vi /etc/nsswitch.conf

et remplacer **compat** par **ldap files** ou par cette commande dans vi :

  s/compat/ldap files/g

Votre fichier /etc/nsswitch.conf doit alors contenir les lignes suivantes :

passwd:         files ldap


group:          files ldap


===== Tester la configuration de nsswitch.conf avec getent =====

Maintenant vous pouvez tester la configuration avec


les commandes plus bas (remplacer **<someldapuser>** par un nom d'utilisateur et **<someldapgroup>** par un nom de groupe présent dans votre serveur LDAP) :

  getent passwd <someldapuser>
  getent group <someldapgroup>

Si vous avez une réponse dans les deux cas **nsswitch.conf** est correctement configuré la seule chose qui reste à faire est 
de configurer PAM.

Il est aussi possible de taper directement : getent passwd vous devez alors voir tous les utilisateurs de votre serveur ldap. Si ce n'est pas le cas, éditez et vérifiez le contenu de /etc/ldap.conf.

<note important>Sans réponses, quels sont les points à vérifier pour trouver l'origine du problème ?</note>

===== Changer l'ordre de l'authentification dans nsswitch.conf =====

Vous pouvez interchanger **ldap** et **files** pour que pam vérifie d'abors dans les fichiers locaux et ensuite sur le serveur LDAP :

  sudo vi /etc/nsswitch.conf

...et changez les lignes :

  passwd:	files ldap
  group:	files ldap
  shadow:	files ldap

===== Configuration de PAM =====

La configuration de PAM est divisée en 4 fichiers : common-account, common-auth, common-password and common-session

==== /etc/pam.d/common-account ====

  sudo vi /etc/pam.d/common-account


Changez la configuration par ces lignes :

  account	sufficient	pam_ldap.so
  account	required	pam_unix.so


==== /etc/pam.d/common-auth ====

  sudo vi /etc/pam.d/common-auth

Changez la configuration par ces lignes :

  auth	sufficient	pam_ldap.so
  auth	required	pam_unix.so nullok_secure use_first_pass


==== /etc/pam.d/common-password ====

=== Configuration standard ===

  sudo vi /etc/pam.d/common-password


Changez la configuration par ces lignes :

  password	sufficient	pam_ldap.so
  password	required	pam_unix.so nullok obscure min=4 max=8 md5


===== Utilisez des mots de passe plus complexes =====

Pour l'utilisation de mot de passe plus difficile à être cassés il vous suffit d'installer le paquet ''libpam-cracklib'' :

  sudo apt-get install libpam-cracklib


Vous avez besoin de modifier la configuration du fichier **/etc/pam.d/common-password** :

  sudo vi /etc/pam.d/common-password


Changez la configuration par ces lignes :

  password        required        pam_cracklib.so retry=3 minlen=6 difok=3
  password        sufficient      pam_ldap.so use_authtok nullok md5
  password        required        pam_unix.so use_authtok use_first_pass


==== /etc/pam.d/common-session ====

=== standard configuration ===

  sudo vi /etc/pam.d/common-session


Changez la configuration par ces lignes :

  session	sufficient	pam_ldap.so
  session	required	pam_unix.so


===== Création automatique du répertoire home à la première connexion =====

Si vous voulez que la création automatique du répertoire home soit faite à la première connexion vous allez devoir éditer **common-session** encore une fois :

  sudo vi /etc/pam.d/common-session


Changez la configuration par ces lignes :

  session required        pam_unix.so
  session required        pam_mkhomedir.so skel=/etc/skel/
  session optional        pam_ldap.so


===== Notes =====

  * Je ne peux promettre que ce document soit sans erreur mais je l'ai testé et il fonctionne.

===== Crédits =====

Source : traduction de https://wiki.ubuntu.com/LDAPClientAuthentication

  * La plupart des informations viennent de cette page : 
http://mcwhirter.com.au/craige/blog/2006/Making-a-Debian-or-Ubuntu-Machine-an-LDAP-Authentication-Client
  * Des informations additionnelles peuvent être trouvées ici :
    * http://www.gentoo.org/doc/en/ldap-howto.xml
    * http://www.gesnel.fr/ubuntu/2007/05/30/integration-de-clients-ubuntu-dans-un-reseau-avec-ldap/

----

//Contributeur principal : [[utilisateurs:phetu]] (traduction).//